# !/usr/bin python3                                
# encoding: utf-8 -*-
# @file: re_test.py                       
# @author   : wjd
# @Time: 2024/3/21 18:33
"""
作业：
假如文本中含有多人信息，文件中包含身份证号，找到其中某年某月某日（自定义一个日期）出生的人
文件中某个日期的信息录入错误，更改这天的错误信息为正确日期
文件中指定几个身份证（自行指定）更改成一个统一的身份证号

下期课题：
数据类型 流程控制
字符串的内置函数：名字 用法 实例
作业：用*打印等边三角形（自定义行数）

"""
import time
from common.file_load import read_txt, write_txt
from common.random_util import profile_data, cur_date_time
import json
import re


def create_Profile():
    """
    生成个人信息
    :return:
    """
    for i in range(50):
        res = profile_data()
        str_1 = str(res)
        write_txt("/antalpha_course/re_test.txt", str(cur_date_time()) + " ===> " + str_1 + "\n")
        print("个人信息已经生成")
        time.sleep(1)


# "2024-02-18 14:08:41,385(.+?)\n"
def read_data(re_test):
    """
    读取数据
    :return:
    """
    r = read_txt("/antalpha_course/re_test.txt")

    res = re.findall(re_test, r)

    print("\n")
    print(res)
    return res


def change_data(re_test: list, a):
    """
    修改数据
    :return:
    """
    r = read_txt("/antalpha_course/re_test.txt")

    for i in re_test:
        res = re.sub(i, a, r)
        # write_txt("/antalpha_course/re_test.txt", res)
        r = res
    print("\n")
    print(res)


def print_triangle(rows):
    # 循环遍历每一行，行数从1到rows+1
    for i in range(1, rows + 1):  # 循环5次
        # 计算当前行的空格数量和星号数量
        k = rows - i  # 空格数 = 总行数 - 当前行数
        x = 2 * i - 1  # 星号数 = 2 * 当前行数 - 1 奇数

        # 打印当前行的空格和星号
        print(' ' * k + '*' * x)


# '身份证号': '150781198109113873'
if __name__ == '__main__':
    # create_Profile()
    # 根据时间读取日志
    # read_data('2024-03-26 11:17:58 ===> "(.+?)\n')

    # 根据身份证号读取数据
    # x = '653221193912081289'
    # str_id = r"\{.+?" + r"\'身份证号\'\: \'" + x + r"\'.+?\n"
    # print(str_id)
    # read_data(str_id)

    # 修改数据
    x = '2222222222'
    change_data(['310110195504237954', '150623195402222259'], x)

    # print_triangle(5)
    pass